SALT: Efficient Load-Time Scheduling for Superscalar Processor Families Using Compiler Annotations

نویسندگان

  • Michael Hußmann
  • Michael Thies
  • Uwe Kastens
چکیده

Superscalar processors exploit instruction-level parallelism (ILP) by dispatching machine instructions to several functional units where they are executed in parallel. The efficiency of parallelization at run-time can be increased through an additional scheduling phase for a concrete target machine in the compiler. But if the mobile code should be executed in a heterogenous network with processors of one family, the concrete target machine is not known at compile-time. Hence, scheduling must be deferred to a later phase immediately before or during program execution. Recently, we developed a novel approach called CALS 1 [4], which prepares parallelization at compile-time and performs scheduling at load-time of a program. It uses proofcarrying code techniques for scheduling in linear time by using an one-pass algorithm. Additionally, the closely related task of register allocation is split between compile-time and load-time of a program. In this paper, we present the evaluation of our new prototype SALT , which provides outstanding results and offers direct execution of the arranged code after scheduling. Currently, SALT achieves improvements of up to 30.9% compared to simple compilation without scheduling and even outperforms list scheduling by up to 21.8% (4% in average). Furthermore, the size of the annotations could be reduced by 24% in average.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelizing Compilation through Load-Time Scheduling for a Superscalar Processor Family

Superscalar processors improve the execution time of sequential programs by exploiting instruction-level parallelism (ILP). The efficiency of parallelization at run-time can be increased through an additional scheduling phase for a concrete target machine in the compiler. But if the target machine is not known at compile-time, scheduling must be deferred to a later phase immediately before prog...

متن کامل

Support for Speculative Execution in High- Performance Processors

Superscalar and superpipelining techniques increase the overlap between the instructions in a pipelined processor, and thus these techniques have the potential to improve processor performance by decreasing the average number of cycles between the execution of adjacent instructions. Yet, to obtain this potential performance benefit, an instruction scheduler for this high-performance processor m...

متن کامل

Dynamic Memory Disambiguation Using the Memory Connict Buuer

To exploit instruction level parallelism, compilers for VLIW and superscalar processors often employ static code scheduling. However, the available code reordering may be severely restricted due to ambiguous dependences between memory instructions. This paper introduces a simple hardware mechanism, referred to as the memory connict buuer, which facilitates static code scheduling in the presence...

متن کامل

Evaluating Compiler Support for Complexity Effective Network Processing

Statically scheduled processors are known to enable low complexity hardware implementations that lead to reduced design and verification time. However, statically scheduled processors are critically dependent on the compiler to exploit instruction level parallelism and deliver higher performance. In order to ascertain the suitability of statically scheduled processors for network processing (wh...

متن کامل

Compiling Unification-Based Finite-State Automata into Machine Instructions for a Superscalar Pipelined RISC Processor

This thesis is about a method for speeding up natural-language analysis using a novel compilation technique. As its input, the compiler takes a unification-based linguistic formalism (non-deterministic finite-state automata, where transitions are labeled by attribute-value matrices according to a finite type logic with a simple-inheritance type hierarchy). As its output, the compiler generates ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005